জাভাস্ক্রিপ্ট (JavaScript)
Web Development - জাভাস্ক্রিপ্ট (JavaScript) - জাভাস্ক্রিপ্ট ব্রাউজার বোম (JS Browser BOM) | NCTB BOOK

কুকি আপনাকে ব্যবহারকারীর তথ্য ওয়েব পেজে সংরক্ষন করার সুযোগ দেয়।


কুকি কী?

কুকি হলো আপনার কম্পিউটারে একটি ছোট টেক্সট ফাইল হিসেবে সংরক্ষিত ডাটা।

যখন ওয়েব সার্ভার ব্রাউজারে একটি ওয়েব পেজ পাঠায় এবং সার্ভার ব্যবহারকারী সম্পর্কে সকল তথ্য ভুলে যায় কারণ সার্ভার এবং ব্রাউজারের সাথে তখন কোন সম্পর্ক থাকে না।

"কিভাবে ব্যবহারকারীর সম্পর্কে তথ্য সংরক্ষন করা যায়" এই সমস্যা সমাধান করার জন্যই কুকি উদ্ভাবিত হয়েছেঃ

  • যখন একজন ব্যবহারকারী একটি ওয়েবপেজে ভিজিট করে তখন তার নাম কুকি হিসেবে সংরক্ষন করা যায়।
  • পরবর্তী সময়ে ব্যবহারকারী যখন ঐ পেজে ভিজিট করে তখন কুকি তাকে চিনতে পারে।

কুকিগুলো জোড়ায় জোড়ায়(name-value) সংরক্ষণ হয়ঃ

kt_satt_skill_example_id=1629

ব্রাউজার থেকে সার্ভারে যখন কোন পেজের জন্য রিকুয়েস্ট পাঠানো হয়, পেজের কুকিগুলোও এই রিকুয়েস্টের সাথে পাঠানো হয়। এই ভাবেই সার্ভার ব্যবহারকারীর সম্পর্কে তথ্য মনে রাখতে পারে।


জাভাস্ক্রিপ্টের মাধ্যমে কুকি তৈরি

document.cookie প্রোপার্টির মাধ্যমে জাভাস্ক্রিপ্ট কুকি তৈরি করতে পারে, পড়তে পারে এবং ডিলেট করতে পারে।

জাভাস্ক্রিপ্টের মাধ্যমে এইভাবে কুকি তৈরি করা যায়ঃ

kt_satt_skill_example_id=1630

এছাড়াও আপনি কুকির মেয়াদ শেষ হওয়ার তারিখ(expiry date) নির্ধারণ করতে পারেন(UTC সময়ে)। ডিফল্টভাবে ব্রাউজার বন্ধ করার সাথে সাথে কুকি ডিলেট হয়ে যায়ঃ

kt_satt_skill_example_id=1631

কুকি কোন পেজের জন্য হবে একটি প্যারামিটারের মাধ্যমে আপনি ব্রাউজারকে বলে দিতে পারেন। ডিফল্টভাবে কুকি বর্তমান পেজের জন্যই নেয়া হয়।

kt_satt_skill_example_id=1632

জাভাস্ক্রিপ্টের মাধ্যমে কুকি পড়া

জাভাস্ক্রিপ্টের মাধ্যমে নিম্নলিখিত উপায়ে কুকি পড়া যায়ঃ

kt_satt_skill_example_id=1633

Notedocument.cookieএকটি স্ট্রিংয়ে সকল কুকিগুলো অনেকটা এইভাবে রিটার্ন করা হয়ঃ cookie1=value; cookie2=value; cookie3=value;

জাভাস্ক্রিপ্টের মাধ্যমে কুকি পরির্বতন

জাভাস্ক্রিপ্টের মাধ্যমে যেভাবে আপনি কুকি তৈরি করেছেন, ঠিক একইভাবে কুকি পরিবর্তন করতে পারেনঃ

kt_satt_skill_example_id=1634

পুরাতন কুকি মুছে ফেলা হয়েছে।


জাভাস্ক্রিপ্টের মাধ্যমে কুকি ডিলেট

কুকি ডিলেট করা খুবই সহজ, শুধুমাত্র "expires" প্যারামিটারে পূর্বের যেকোন তারিখ সেট করে দিতে হয়।

kt_satt_skill_example_id=1635

উল্লেখ্য যে আপনি যখন কুকি ডিলেট করবেন তখন কুকির ভ্যালু নির্ধারণ করা লাগবে না।


কুকি স্ট্রিং

document.cookie প্রোপার্টিটি দেখতে সাধারন টেক্সট স্ট্রিংয়ের মতো দেখায়। কিন্তু এটি সাধারণ স্ট্রিং নয়।

এমনকি আপনি যদি document.cookie তে একটি সম্পূর্ণ কুকি স্ট্রিং লিখেন, যখন আপনি এটি আবার পড়তে যাবেন ,তখন আপনি শুধু name-value এর জোড়ায় জোড়ায় দেখতে পাবেন।

আপনি যদি একটি নতুন কুকি সেট করেন, পুরাতন কুকি মুছে যায় না। নতুন কুকি document.cookie তে যোগ হয়, যদি আপনি পুনরায় document.cookie পড়তে যান তাহলে এমন কিছু দেখতে পাবেনঃ

cookie1=value; cookie2=value;

সকল কুকি প্রদর্শন করি  প্রথম কুকি তৈরি  দ্বিতীয় কুকি তৈরি প্রথম কুকি ডিলেট  দ্বিতীয় কুকি ডিলেট

আপনি যদি একটি সুনির্দিষ্ট কুকির ভ্যালু খুজে পেতে চান, তাহলে আপনাকে অবশ্যই একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে।


জাভাস্ক্রিপ্ট কুকি উদাহরণ

নিচের উদাহরণে আমরা একটি কুকি তৈরি করবো, যা ভিজিটরের নাম সংরক্ষন করবে।

প্রথম বার ভিজিটর যখন ওয়েব পেজে প্রবেশ করবে তখন তাকে তার নাম পূরণ করতে বলা হবে। তারপর নামটি একটি কুকিতে সংরক্ষিত হবে।

পরবর্তীতে ভিজিটর যখন একই পেজে পূনরায় আসে, তখন সে একটি স্বাগত বার্তা পাবে।

উদাহরণস্বরূপ আমরা ৩টি জাভাস্ক্রিপ্ট ফাংশন তৈরি করবোঃ

  1. একটি ফাংশন কুকি ভ্যালু সেট করা জন্য
  2. একটি ফাংশন কুকি ভ্যালু পাওয়ার জন্য
  3. একটি ফাংশন কুকি ভ্যালু চেক করা জন্য

কুকি সেট করার ফাংশন

প্রথমে আমরা একটি ফাংশন তৈরি করি যা ভিজিটরের নাম একটি কুকি ভ্যারিয়েবলে সংরক্ষন করবেঃ

kt_satt_skill_example_id=1637

উদাহরণের ব্যাখ্যাঃ

উপরে ফাংশনের প্যারামিটারগুলোর মধ্যে প্রথমটি হলো কুকির নাম(cname), দ্বিতীয়টি কুকির ভ্যালু(cvalue) এবং শেষেরটি কুকির মেয়াদউত্তীর্ণের তারিখ(exdays)।

ফাংশনটি কুকির নাম, কুকির ভ্যালু এবং স্ট্রিংয়ের মেয়াদউত্তীর্ণের তারিখ একত্রে যুক্ত করে একটি কুকি তৈরি করে।


কুকি পাওয়ার ফাংশন

তারপর আমরা একটি ফাংশন তৈরি করি যেটি কুকির ভ্যালু রিটার্ণ করবেঃ

kt_satt_skill_example_id=1639

ফাংশনের ব্যাখ্যাঃ

কুকির নাম(cname) প্যারামিটার হিসেবে নেয়।

অনুসন্ধানের জন্য cname + "=" টেক্সটের সাহায্যে একটি ভ্যারিয়েবল(name) তৈরি করেছি।

document.cookie কে সেমিকোলনে বিভক্ত করে ca(ca = document.cookie.split(";")) অ্যারেতে রাখি।

ca অ্যারেতে লুপের(i=0;i<ca.length;i++) মাধ্যমে অ্যারের প্রতিটি মান পড়ি(c ‍=ca[i])।

যদি কুকি খুজে পাওয়া যায় (c.indexOf(name) == 0),তাহলে c.substring(name.length,c.length) কুকি ভ্যালু রিটার্ন করে।

আর যদি কুকি না পাওয়া যায়, তাহলে "" রিটার্ন করে।


কুকি চেক করার ফাংশন

সর্বশেষ,আমরা একটি ফাংশন তৈরি করি যা দিয়ে কুকি সেট হয়েছে কিনা তা চেক করে।

যদি কুকি সেট করা থাকে তাহলে এটি একটি স্বাগত বার্তা প্রদর্শন করবে।

আর যদি কুকি সেট করা না থাকে তাহলে setCookie ফাংশন কল করার মাধ্যমে ইহা একটি প্রোম্পট(prompt) বক্স প্রদর্শন করে ব্যবহারকারীর নাম চাইবে এবং ৩৬৫ দিনের জন্য ব্যবহারকারীর নাম সংরক্ষন করবে।

kt_satt_skill_example_id=1640

সকল ফাংশন একসঙ্গে দেয়া হলো

kt_satt_skill_example_id=1641

Content added || updated By
Promotion